/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package invsys.Controladores;

import invsys.Modelo.Local;
import invsys.Utilidades.ManejadorBaseDatos;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 *
 * @author dell
 */
public class ControlLocal {
    public static Local load(ResultSet rs) throws SQLException{
        Local p=new  Local();
        p.setNit(rs.getString(1));
        p.setNombre(rs.getString(2));
        p.setDireccion(rs.getString(3));
        p.setTelefono(rs.getString(4));
        p.setMail(rs.getString(5));
        p.setPagina(rs.getString(6));
        return p;
    }   
   public static Connection con;
  public static void RegistrarLocal(Local p) throws SQLException, IOException, Exception {
        ManejadorBaseDatos mbd = ManejadorBaseDatos.getInstancia();
        mbd.conectar();
        con = mbd.getConexion();
        if (con == null) {
            throw new SQLException(" no hay conexion ");
        }
        PreparedStatement pst = null;

        try {

            pst = con.prepareStatement("Insert Into local values(?,?,?,?,?,?)");
            pst.setString(1, p.getNit());
            pst.setString(2, p.getNombre());
            pst.setString(3, p.getDireccion());
            pst.setString(4, p.getTelefono());
            pst.setString(5,p.getMail());
            pst.setString(6,p.getPagina());
            pst.executeUpdate();
           
        } finally {
            if (pst != null) {
                pst.close();
            }
        }
    }
  public static Local BuscarLocal(String ide) throws SQLException{
            if (ide == null) {
          throw new SQLException("No hay elemento clave de la clase usuario");
        }
         ResultSet rs = null;
         PreparedStatement pst = null;
         Local local= null;
     try {
         ManejadorBaseDatos mbd=ManejadorBaseDatos.getInstancia();
         mbd.conectar();
         con=mbd.getConexion();
         pst = con.prepareStatement("select * from local where nit=?");
         pst.setString(1, ide.trim());

         rs = pst.executeQuery();
         while(rs.next()) {
            local = load(rs);
         }
    } finally {
         if (rs != null) {
            rs.close();
         }
         if (pst != null) {
           pst.close();
         }
          return local;
    }
    }
  public static Local BuscarLocalnom(String nom) throws SQLException{
            if (nom == null) {
          throw new SQLException("No hay elemento clave de la clase usuario");
        }
         ResultSet rs = null;
         PreparedStatement pst = null;
         Local local= null;
     try {
         ManejadorBaseDatos mbd=ManejadorBaseDatos.getInstancia();
         mbd.conectar();
         con=mbd.getConexion();
         pst = con.prepareStatement("select * from local where nombre=?");
         pst.setString(1, nom.trim());

         rs = pst.executeQuery();
         while(rs.next()) {
            local = load(rs);
         }
    } finally {
         if (rs != null) {
            rs.close();
         }
         if (pst != null) {
           pst.close();
         }
          return local;
    }
    }
  public static void ModificarLocal(Local p, String ide) throws SQLException, Exception {
        if (BuscarLocal(ide) == null) {
            throw new SQLException("usuario no registrado ");
        }
        PreparedStatement pst = null;

        try {
            ManejadorBaseDatos mbd = ManejadorBaseDatos.getInstancia();
            mbd.conectar();
            con = mbd.getConexion();
            pst = con.prepareStatement("UPDATE local SET nit = ? ,"
                    + " nombre = ?,direccion= ?,telefono = ?, maill=?, pagina=?"
                    + " WHERE nit = ?");	
            pst.setString(1, p.getNit());
            pst.setString(2, p.getNombre());
            pst.setString(3, p.getDireccion());
            pst.setString(4, p.getTelefono());
            pst.setString(5, p.getMail());
            pst.setString(6, p.getPagina());
            pst.setString(7, ide);
            pst.executeUpdate();

        } finally {
            if (pst != null) {
                pst.close();
            }
        }

    }
}
